// electron的主进程文件
import { app, BrowserWindow, Menu, ipcMain } from 'electron'

// 创建自定义菜单
function createContextMenu() {
  return Menu.buildFromTemplate([
    {
      label: '菜单项1',
      click: () => {
        console.log('点击了菜单项1')
      },
    },
    {
      label: '菜单项2',
      click: () => {
        console.log('点击了菜单项2')
      },
    },
    { type: 'separator' },
    {
      label: '退出',
      click: () => {
        app.quit()
      },
    },
  ])
}

// 打开浏览器窗口,启动桌面程序会按照这个启动
app.whenReady().then(() => {
  const win = new BrowserWindow({
    width: 100,
    height: 100,
    frame: false, // 保持边框
    transparent: true, // 透明
    autoHideMenuBar: true, // 隐藏菜单栏
    webPreferences: {
      nodeIntegration: true, // 允许在渲染进程中使用node
      contextIsolation: false, // 关闭渲染进程的沙箱
      webSecurity: false, // 关闭跨域检测
    },
  })

  // 设置窗口最小尺寸
  win.setMinimumSize(100, 100)

  // 监听右键菜单事件
  ipcMain.on('show-context-menu', (event) => {
    const menu = createContextMenu()
    menu.popup({ window: win })
  })

  if (process.argv[2]) {
    win.loadURL(process.argv[2]) // 开发环境加载url
  } else {
    win.loadFile('index.html') // 生产环境加载文件
  }

  // 开发环境下打开开发者工具
  // if (process.env.NODE_ENV === 'development') {
  //   win.webContents.openDevTools()
  // }
})
